1
Introdução à Preparação de Dados Privados no RAG
AI010Lesson 7
00:00

Fundamentos do RAG

Modelos de Linguagem de Grande Escala (LLMs) estão "congelados" no tempo, limitados pelo ponto final dos dados de treinamento. Eles não conseguem responder perguntas sobre o manual interno da sua empresa ou uma reunião privada por vídeo de ontem.Geração Incrementada por Recuperação (RAG)preenche essa lacuna fornecendo ao LLM um contexto relevante recuperado dos seus próprios dados privados.

O Fluxo de Trabalho de Vários Passos

Para tornar os dados privados "legíveis" para um LLM, seguimos um pipeline específico:

  • Carregamento:Convertendo diversos formatos (PDF, Web, YouTube) em um formato padrão de documento.
  • Divisão:Dividindo documentos longos em partes menores e gerenciáveis chamadas "pedaços".
  • Embutimento:Convertendo pedaços de texto em vetores numéricos (representações matemáticas do significado).
  • Armazenamento:Salvando esses vetores em um Vectorstore (como o Chroma) para busca de similaridade extremamente rápida.
Por que a Divisão em Pedaços Importa
Os LLMs têm uma "janela de contexto" (limite sobre quantos textos podem ser processados de uma vez). Se você enviar um PDF de 100 páginas, o modelo falhará. Dividimos os dados em pedaços para garantir que apenas as partes mais relevantes da informação sejam enviadas ao modelo.
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>
Question 1
Why is chunk_overlap considered a critical parameter when splitting documents for RAG?
To reduce the total number of tokens used by the LLM.
To ensure that semantic context (the meaning of a thought) is not cut off at the end of a chunk.
To make the vector database store data faster.
Challenge: Preserving Context
Apply your knowledge to a real-world scenario.
You are loading a YouTube transcript for a technical lecture. You notice that the search results are confusing "Lecture 1" content with "Lecture 2."
Task
Which splitter would be best for keeping context like "Section Headers" intact?
Solution:
MarkdownHeaderTextSplitter or RecursiveCharacterTextSplitter. These allow you to maintain document structure in the metadata, helping the retrieval system distinguish between different chapters or lectures.